#include <iostream>
using namespace std;

#include <boost/compressed_pair.hpp>
#include <boost/assert.hpp>
using namespace boost;

class Empty1 {};

int main()
{
    compressed_pair<int, string> cp1;
    compressed_pair<int, string> cp2(23);
    compressed_pair<int, string> cp3("string");
    compressed_pair<int, string> cp4(40, "string");
    string s;
    compressed_pair<int, string&> cp5(21, s);
    std::pair<int, string&> sp6(21, s);
    /////////////////////////////////////////////////
    assert(sizeof(compressed_pair<Empty1, int>) == sizeof(int));
    assert(sizeof(std::pair<Empty1, int>) == sizeof(int));
    return 0;
}
